Mobile devices, such as smartphones and other portable battery powered devices, have an operating system (“OS”) to manage power usage by various applications installed on the mobile devices. The OS may prevent an application from running indefinitely in the foreground or background of the mobile device, and may close applications that are idle, that violate usage policies when the mobile device is locked or in a standby state, and/or that the OS determines to close for other reasons. For instance, the OS may give priority to certain applications and close other applications to ensure that the prioritized applications have sufficient resources to execute.
The OS may allow an application to wake up or execute from a closed or standby state in response to one or more triggers. A beacon is one such trigger that may be used to wake or trigger execution of a particular application (e.g., in a closed, standby, idle, background, or other inactive state) on a mobile device.
A beacon transmitter may be placed where execution of a particular application is desired. The transmitter may periodically transmit a beacon with a unique identifier. The beacon can be a numerical value or string of characters. Mobile devices that enter in transmission range of the beacon transmitter may receive the beacon via one or more wireless radios. The beacon passes to the mobile device OS, and the OS may trigger execution of a closed application that previously registered that beacon with the OS. For instance, a particular application may register one or more beacons that can be used to trigger execution of that particular application with the mobile device OS. The particular application may register the one or more beacons when the particular application is installed or first run on the mobile device.
The mobile device OS may restrict the use of beacons and/or other triggers in several ways. One restriction may permit a specific beacon or other trigger to trigger execution of an application once per defined interval (e.g., once every five minutes). If the application is closed (e.g., by the OS or user) after being triggered by the specific beacon, the OS may prevent the application from restarting or running for the remainder of the interval despite the mobile device receiving different instances of the same specific beacon. Another restriction may prevent a specific beacon from triggering execution of an application more than once while the mobile device remains in range of the transmitter, and the mobile device continues to receive the specific beacon. In other words, the mobile device may have to exit out of the transmitter range, stop receiving the specific beacon for some period of time (e.g., one minute), and reenter in range of the transmitter to receive the specific beacon before the OS will trigger subsequent execution of the application based on the specific beacon.